var Builder = new Ext.extend(Ext.Panel, {
	border : false,
	layout : 'fit',
	initComponent : function() {
		this.initGrid();
		this.items = [this.grid];
		Builder.superclass.initComponent.call(this);
	},
	addOrUpdate : function(isAdd) {
		var me = this;
		if (this.win) {
			this.win.close();
		}
		var rec = this.grid.getRecord();
		if (!isAdd) {
			if (!rec) {
				TopMy.alert('请选择要修改的记录！');
				return;
			}
		}
		this.form = new TopExt.FormPanel({
					border : false,
					autoScroll : true,
					padding : 5,
					defaults : {
						xtype : 'textfield',
						anchor : '100%'
					},
					labelWidth : 70,
					labelAlign : 'right',
					items : [{
								xtype : 'hidden',
								name : 'builder_id'
							}, {
								name : 'builder_name',
								fieldLabel : '施工队',
								allowBlank : false
							}, {
								name : 'linkman',
								fieldLabel : '联系人'
							}, {
								name : 'telphone',
								fieldLabel : '联系电话'
							}, {
								name : 'address',
								fieldLabel : '联系地址'
							}],
					listeners : {
						afterrender : function(t) {
							if (!isAdd) {
								t.getForm().loadRecord(rec);
							}
						}
					}
				});
		this.win = new TopExt.Window({
					title : isAdd ? '新增施工队信息' : '更新施工队信息',
					width : 380,
					autoHeight : true,
					modal : true,
					items : [this.form],
					buttons : [{
								text : '保存',
								iconCls : 'icon-save',
								handler : function() {
									var url = My.url('/jxc/builder/add.do');
									if (!isAdd) {
										url = My.url('/jxc/builder/update.do');
									}
									TopMy.submit(me.form, {
												url : url,
												successCallback : function() {
													me.win.close();
													me.grid.getStore().reload();
												}
											});
								}
							}, {
								text : '取消',
								iconCls : 'icon-cancel',
								handler : function() {
									me.win.close();
								}
							}]
				});
		this.win.show();
		return this.form;
	},
	initGrid : function() {
		var me = this;
		var store = new Ext.data.JsonStore({
					fields : ['builder_id', 'builder_code', 'builder_name',
							'linkman', 'telphone', 'address', 'fax', 'postcode'],
					url : My.url('/jxc/builder/getBuilderList.do'),
					root : 'data',
					autoLoad : true
				});
		this.grid = new Ext.grid.EditorGridPanel({
					region : 'center',
					boxMinWidth : 480,
					loadMask : true,
					getRecord : function() {
						return me.grid.getSelectionModel().getSelected();
					},
					store : store,
					viewConfig : {
						forceFit : true
					},
					sm : new Ext.grid.RowSelectionModel({
								listeners : {
									rowselect : function(t, i, r) {
									}
								}
							}),
					cm : new Ext.grid.ColumnModel({
								defaults : {
									align : 'center'
								},
								columns : [{
											dataIndex : 'builder_name',
											header : '施工队名称',
											width : 150
										}, {
											dataIndex : 'linkman',
											header : '联系人'
										}, {
											dataIndex : 'telphone',
											header : '联系电话'
										}, {
											dataIndex : 'address',
											header : '联系地址'
										}]
							}),
					bodyStyle : 'border-left:0;border-bottom:0;',
					tbar : new Ext.Toolbar({
								style : 'border-left:0;border-top:0;',
								items : [{
											text : '新增',
											iconCls : 'icon-add',
											handler : function() {
												me.addOrUpdate(true);
											}
										}, {
											text : '修改',
											iconCls : 'icon-update',
											handler : function() {
												me.addOrUpdate();
											}
										}, {
											text : '删除',
											iconCls : 'icon-delete',
											handler : function() {
												me.setDisabled();
											}
										}, '-', {
											xtype : 'searchfield',
											name : 'builder_name',
											store : store
										}]
							}),
					listeners : {
						rowclick : function(g, i, e) {
						}
					}
				});
	},
	setDisabled : function(disabled, sbbar) {
		var me = this;
		var rec = me.grid.getRecord();
		if (disabled) {
			if (!rec) {
				My.alert('请选择要禁用的施工队信息！');
				return;
			}
			My.confirm('确定要禁用该施工队吗？', function(btn) {
						if (btn == 'no') {
							return;
						}
						My.request({
									url : My.url('/jxc/builder/setDisabled.do'),
									params : {
										builder_id : rec.data.builder_id,
										deleted : '1'
									},
									successCallback : function() {
										me.grid.getStore().reload();
									}
								});
					});
		} else {
			if (!rec) {
				My.alert('请选择要启用的施工队信息！');
				return;
			}
			My.request({
						url : My.url('/jxc/builder/setDisabled.do'),
						params : {
							builder_id : rec.data.builder_id,
							disabled : '0'
						},
						successCallback : function() {
							sbbar.setText('禁用');
							sbbar.setIconClass('icon-disabled');
							me.grid.getStore().reload();
						}
					});
		}
	},
	dele : function() {
		var me = this;
		var rec = me.grid.getRecord();
		if (!rec) {
			My.alert('请选择要删除的施工队信息 ！');
			return;
		}
		My.confirm('确定要删除该施工队信息吗？', function(btn) {
					if (btn == 'no') {
						return;
					}
					My.request({
								url : My.url('/jxc/builder/delete.do'),
								params : {
									builder_id : rec.data.builder_id
								},
								successCallback : function() {
									me.grid.getStore().reload();
								}
							});
				});
	}
});

Ext.onReady(function() {
			new Ext.Viewport({
						layout : 'fit',
						items : [new Builder()]
					});
		});